package org.jeecg.modules.miniAppCustomerEndPoint.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 不需要 hc_commodity 表来保存各个店铺的全部菜品，使用 jx_site_menu 表，来保存 各个店铺为不同大厦提供的菜单
 * 同一个店铺可以供应多个大厦，同一个店铺可以为不同大厦，供应不同菜品，合作价，出售给消费者的价格也不同
 */
@Data
@TableName("jx_site_menu")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "与hc_store表对应的实体类", description = "店铺")
public class JxSiteMenuDo {

    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private String Id;

    @TableField("store_id")
    private String storeId;

//    @TableField("store_name")
//    private String storeName;

    @TableField("site_id")
    private String siteId;

    /**
     * todo 确定其他地方不在需要此字段时，删除此字段
     */
//    private String siteAddressId ;

    private String foodId;

//    private String foodName;

//    @TableField("food_image")
//    private String foodImage;
    /**
     * 菜品在店铺中展示的顺序，从1 开始计数；值越小，显示越靠前
     */
    private Integer sort;

    /**
     * 某一个菜品的限购份量
     */
    private Integer limitCount;

    /**
     * 店铺给平台的供应价格，即平台与店铺的合作价， 单位为分
     */
    private Integer storePrice;

    /**
     * 平台出售给消费者的价格，加上抽佣后的，没有减去优惠券和积分, 单位为分
     */
    private Integer salePrice;

    /**
     * 站长抽佣类型
     */
    @TableField("SITE_MASTER_COMMISSION_TYPE")
    private Short siteMasterCommissionType;

    /**
     * 站长抽佣数值
     */
    @TableField("SITE_MASTER_COMMISSION_VALUE")
    private Integer siteMasterCommissionValue;


    /**
     * 平台抽佣类型
     */
    @TableField("PLATFORM_COMMISSION_TYPE")
    private Short platFormCommissionType;

    /**
     * 平台抽佣数值
     */
    @TableField("PLATFORM_COMMISSION_VALUE")
    private Integer platFormCommissionValue;


    /**
     * todo 主品类是 店铺的属性，而不是 菜品的属性，如果其他地方不需要，后期应该将此字段从 菜品信息中移除考虑移除掉
     */
//    @TableField("store_category_id")
//    private String storeCategoryId;

    /**
     * todo 主品类是 店铺的属性，而不是 菜品的属性，如果其他地方不需要，后期应该将此字段从 菜品信息中移除考虑移除掉
     */
//    @TableField("store_category_name")
//    private String storeCategoryName;

    @TableField("specification")
    private String specification;

//    @TableField("FOOD_TYPE_ID")
//    private String foodTypeId;
//
//    @TableField("FOOD_TYPE_NAME")
//    private String foodTypeName;

    /**
     * 菜品状态，有时候需要将某个菜品下架，比如 每周为站点更新一批菜品，可以一次挑选60个菜品，第一周，仅商家1~30号菜品，第二周商家 10~40号菜品，来为用户展示更多样式的菜品，
     * 此时不需要将1~10菜品 从该站点的菜单中删除，只需要下架即可；后期1个月后，可以再次上架 1~10号菜品；
     * jx_food_repository 表中也有一个菜品状态，该状态是由 店铺店主决定，由站长或平台管理员进行管理，当某个店铺某个菜品不在供应时，需要从 菜品信息库中下架此菜品，
     * 此时也需要同步更新 jx_site_menu表中的菜品状态
     * todo 还没有向 jx_site_menu 表添加 state 列
     */
    private String state;

    @TableField("create_time")
    private Date createTime;

    @TableField("update_time")
    private Date updateTime;

    @TableField("del_flag")
    private Integer delFlag;
}
